﻿namespace EyeOpen.Data
{
    using System.Data.Common;

    public static class CommandExtension
    {
        public static void AddParameter<T>(this DbCommand command, string parameterName, T value) 
        {
            int parameterPosition = command.Parameters.IndexOf(parameterName);

            DbParameter parameter;

            if (parameterPosition < 0)
            {
                parameter = command.CreateParameter();
                parameter.ParameterName = parameterName;
                parameter.Value = value;
                command.Parameters.Add(parameter);
            }
            else 
            {
                parameter = command.Parameters[parameterPosition];
                parameter.Value = value;
            }
        }
    }
}